package com.introspy.logging;
import android.util.Log;
public class LoggerDB extends LoggerTraces {
protected String _pListHeader =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" " +
"\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">" +
"<plist version=\"1.0\">" +
"<dict>";
protected String _pListArgsBody = "";
/* "<key>arguments</key>" +
"<dict>" +
"<key>pasteboardType</key>" +
"<string>public.utf8-plain-text</string>" +
"</dict>";
*/
// not necessary to include this
protected String _pListRetBody = "";
/* "<key>returnValue</key>" +
"<string>nil</string>";
*/
protected String _pListFooter =
"</dict></plist>";
protected void _logDBParameter(String name, String value) {
_pListArgsBody += "<key>" + _escapeXMLChars(name) + "</key>" +
"<string>" + _escapeXMLChars(value) + "</string>";
}
protected void _logDBReturnValue(String name, String value) {
// not using the name in the DB here yet
_pListRetBody =
"<key>returnValue</key>" +
"<string>" + _escapeXMLChars(value) + "</string>";
}
protected String _logCreatePlistArgs() {
return _pListHeader +
"<key>arguments</key>" +
"<dict>" +
_pListArgsBody +
"</dict>" +
_pListRetBody +
_pListFooter;
}
protected void _logInDB(String logType) {
try {
SQLiteIntrospy db = SQLiteIntrospy.getInstance();
db.open();
db.createRow(
_config.getType(),
_config.getSubType(),
_config.getClassName(),
_config.getMethodName(),
_logCreatePlistArgs(),
logType,
// (logType.equalsIgnoreCase("W") ? _notes : ""),
_escapeXMLChars(_notes),
_escapeXMLChars(_traces));
db.close();
}
catch (Exception e) {
Log.w(_TAG_ERROR, "--> Error with DB: " + e);
}
}
public void disableDBlogger() {
_enableDB = false;
}
public void enableDBlogger() {
_enableDB = true;
}
}